.TH dlg 1 "April 1994" "DLG" "PCCTS Manual Pages"
.SH NAME
dlg \- DFA Lexical Analyzer Generator
.SH SYNTAX
.LP
\fBdlg\fR [\fIoptions\fR] \fIlexical_spec\fR [\fIoutput_file\fR]
.SH DESCRIPTION
.B dlg
is a tool that produces fast deterministic finite automata for recognizing
regular expressions in input.
.SH OPTIONS
.IP "\fB-CC\fR"
Generate C++ output.  The \fIoutput_file\fP is not specified in this
case.
.IP "\fB-C\fR[\fP level\fR]
Where \fPlevel\fR is the compression level used.  0 indications no
compression, 1 removes all unused characters from the transition from table,
and 2 maps equivalent characters into the same character classes.  It is
suggested that level -C2 is used, since it will significantly reduce the size
of the dfa produced for lexical analyzer.
.IP "\fB-m\fP
Produces the header file for the lexical mode with a name other than
the default name of "mode.h".
.IP \fB-i\fP
An interactive, or as interactive as possible, parser is produced.  A character
is only obtained when required to decide which state to go to.  Some care
must be taken to obtain accept states that do not require look ahead at the
next character to determine if that is the stop state.  Any regular expression
with a Kleene closure at the end is guaranteed to require another character
of look ahead.
.IP "\fB-cl\fP class
Specify a class name for DLG to generate.  The default is DLGLexer.
'class' will be a subclass of DLGLexerBase; only used for -CC.
.IP \fB-ci\fP
The automaton will treat upper and lower case characters identically.
This is accomplished in the automaton; the characters in the lexical
buffer are unmodified.
.IP \fB-cs\fP
Upper and lower case characters are treated as distinct.  This is the
default.
.IP "\fB-o\fP dir
Directory where output files should go (default=".").  This is very
nice for keeping the source directory clear of ANTLR and DLG spawn.
.IP \fB-Wambiguity\fP
Warns if more than one regular expression could match the same character
sequence.  The warnings give the numbers of the expressions in the dlg
lexical specification file.  The numbering of the expressions starts at one.
Multiple warnings may be print for the same expressions.
.IP \-
Used in place of file names to get input from standard in or send output
to standard out.
.SH "SPECIAL CONSIDERATIONS"
.PP
\fIDlg\fP works...  we think.  There is no implicit guarantee of
anything.  We reserve no \fBlegal\fP rights to the software known as
the Purdue Compiler Construction Tool Set (PCCTS) \(em PCCTS is in the
public domain.  An individual or company may do whatever they wish
with source code distributed with PCCTS or the code generated by
PCCTS, including the incorporation of PCCTS, or its output, into
commercial software.  We encourage users to develop software with
PCCTS.  However, we do ask that credit is given to us for developing
PCCTS.  By "credit", we mean that if you incorporate our source code
into one of your programs (commercial product, research project, or
otherwise) that you acknowledge this fact somewhere in the
documentation, research report, etc...  If you like PCCTS and have
developed a nice tool with the output, please mention that you
developed it using PCCTS.  As long as these guidelines are followed, we
expect to continue enhancing this system and expect to make other
tools available as they are completed.
.SH FILES
.B mode.h
,
.B dlgauto.h
,
.B dlgdef.h
.SH SEE ALSO
.BR antlr (1),
.BR pccts (1)
.SH BUGS
